package com.panfeng.xcloud.boss.provider.assets.dao.mapper;

import com.panfeng.xcloud.boss.provider.assets.dto.CoinListExtendItemDTO;
import com.panfeng.xcloud.boss.provider.assets.dto.request.QueryCoinListPageReqDTO;
import com.panfeng.xcloud.dao.assets.entity.CoinList;
import com.panfeng.xcloud.dao.assets.mapper.CoinListMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CoinListMapperExt extends CoinListMapper {

    Long queryCoinListExtPageCount(QueryCoinListPageReqDTO queryCoinListPageReqDTO);

    List<CoinListExtendItemDTO> queryCoinListExtPage(QueryCoinListPageReqDTO queryCoinListPageReqDTO);

    List<CoinList> queryCoinListByExchangeType(@Param("exchangeType")Integer exchangeType,
                                               @Param("status")Integer status);

    List<CoinList> selectAll(Integer status);

    List<CoinList> selectByCondition(@Param("exchangeType")Integer exchangeType,
                                     @Param("status")Integer status,
                                     @Param("direction")String direction);

    CoinList queryCoinListByDestinationCoinAndSourceCoin(@Param("exchangeType")Integer exchangeType,
                                                         @Param("destinationCoin") String destinationCoin,
                                                         @Param("sourceCoin") String sourceCoin,
                                                         @Param("status")Integer status,
                                                         @Param("direction")String direction);

}